#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "menu.h"

// 获取CPU信息的示例代码
void show_cpu_info() {
    FILE *fp;
    char buffer[128];

    // 使用系统命令获取CPU信息
    fp = popen("lscpu", "r");
    if (fp == NULL) {
        printf("无法获取CPU信息\n");
        return;
    }

    printf("CPU硬件信息:\n");
    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        printf("%s", buffer);
    }

    pclose(fp);
}

// 获取进程信息的示例代码
void show_process_info() {
    FILE *fp;
    char buffer[128];

    // 使用系统命令获取进程信息
    fp = popen("ps aux", "r");
    if (fp == NULL) {
        printf("无法获取进程信息\n");
        return;
    }

    printf("进程运行信息:\n");
    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        printf("%s", buffer);
    }

    pclose(fp);
}

// 获取内存信息的示例代码
void show_memory_info() {
    FILE *fp;
    char buffer[128];

    // 使用系统命令获取内存信息
    fp = popen("free -h", "r");
    if (fp == NULL) {
        printf("无法获取内存信息\n");
        return;
    }

    printf("内存硬件信息、内存使用信息:\n");
    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        printf("%s", buffer);
    }

    pclose(fp);
}

// 获取存储设备信息的示例代码
void show_storage_info() {
    FILE *fp;
    char buffer[128];

    // 使用系统命令获取存储设备信息
    fp = popen("lsblk", "r");
    if (fp == NULL) {
        printf("无法获取存储设备信息\n");
        return;
    }

    printf("存储设备硬件信息、存储设备使用信息:\n");
    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        printf("%s", buffer);
    }

    pclose(fp);
}